import json


def check_duplicate_process_types(json_data):
    """
    检查JSON数据中PROCESS_TYPE_NAME是否存在重复

    参数:
    json_data -- 解析后的JSON数据

    返回:
    duplicate_types -- 包含重复PROCESS_TYPE_NAME的列表，若无重复则返回空列表
    """
    # 用于存储所有PROCESS_TYPE_NAME的列表
    process_types = []
    # 用于存储重复项的列表
    duplicate_types = []

    # 遍历rows中的每个对象
    for item in json_data.get("rows", []):
        cell = item.get("cell", {})
        process_type = cell.get("PROCESS_TYPE_NAME")

        # 如果PROCESS_TYPE_NAME存在
        if process_type:
            # 如果已经存在于列表中，说明是重复项
            if process_type in process_types:
                if process_type not in duplicate_types:
                    duplicate_types.append(process_type)
            # 否则添加到列表中
            else:
                process_types.append(process_type)

    return duplicate_types


# JSON数据字符串
# json_str =None

# 解析JSON数据
def start(data):
    try:
        # data = json.loads(json_str)
        # 检查重复项
        duplicates = check_duplicate_process_types(data)

        if duplicates:
            print("发现重复的PROCESS_TYPE_NAME:")
            for type_name in duplicates:
                print(f"- {type_name}")
        else:
            print("未发现重复的PROCESS_TYPE_NAME")

    except json.JSONDecodeError as e:
        print(f"JSON解析错误: {e}")